{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "5042b1a4-3c9d-45c9-9bbe-aa297b8cfb17",
   "metadata": {},
   "outputs": [],
   "source": [
    "import torch\n",
    "import torch.nn as nn\n",
    "import torch.optim as optim\n",
    "import torch.nn.functional as F\n",
    "import torchvision\n",
    "import torchvision.transforms as transforms\n",
    "import matplotlib.pyplot as plt\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "610828f9-7471-44ea-9282-7219c9713ea6",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Downloading https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz to ./Data\\cifar-10-python.tar.gz\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100.0%\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Extracting ./Data\\cifar-10-python.tar.gz to ./Data\n",
      "Files already downloaded and verified\n"
     ]
    }
   ],
   "source": [
    "# 数据预处理：归一化并增强数据\n",
    "transform = transforms.Compose([\n",
    "    transforms.RandomHorizontalFlip(),  # 随机水平翻转\n",
    "    transforms.RandomRotation(15),      # 随机旋转\n",
    "    transforms.ToTensor(),              # 将图像转换为Tensor\n",
    "    transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))  # 归一化\n",
    "])\n",
    "\n",
    "# 下载训练和测试数据集\n",
    "trainset = torchvision.datasets.CIFAR10(root='./Data', train=True, download=True, transform=transform)\n",
    "testset = torchvision.datasets.CIFAR10(root='./Data', train=False, download=True, transform=transform)\n",
    "\n",
    "# 创建DataLoader\n",
    "trainloader = torch.utils.data.DataLoader(trainset, batch_size=64, shuffle=True)\n",
    "testloader = torch.utils.data.DataLoader(testset, batch_size=64, shuffle=False)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "842aba12-d37b-4fc9-b10b-539e79fce158",
   "metadata": {},
   "outputs": [],
   "source": [
    "class CNN(nn.Module):\n",
    "    def __init__(self):\n",
    "        super(CNN, self).__init__()\n",
    "        self.conv1 = nn.Conv2d(3, 32, kernel_size=3, padding=1)  # 第一层卷积\n",
    "        self.conv2 = nn.Conv2d(32, 64, kernel_size=3, padding=1)  # 第二层卷积\n",
    "        self.pool = nn.MaxPool2d(2, 2)  # 池化层\n",
    "        self.fc1 = nn.Linear(64 * 8 * 8, 128)  # 全连接层1\n",
    "        self.fc2 = nn.Linear(128, 10)  # 输出层 (10类)\n",
    "    \n",
    "    def forward(self, x):\n",
    "        x = self.pool(F.relu(self.conv1(x)))  # 第一层卷积 + 激活 + 池化\n",
    "        x = self.pool(F.relu(self.conv2(x)))  # 第二层卷积 + 激活 + 池化\n",
    "        x = x.view(-1, 64 * 8 * 8)  # 展平\n",
    "        x = F.relu(self.fc1(x))  # 全连接层1 + 激活\n",
    "        x = self.fc2(x)  # 输出层\n",
    "        return x\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "10537f04-f450-457c-aacb-d3cd2bc66f5f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/10, Loss: 1.4090, Accuracy: 49.51%\n",
      "Epoch 2/10, Loss: 1.0780, Accuracy: 61.61%\n",
      "Epoch 3/10, Loss: 0.9518, Accuracy: 66.56%\n",
      "Epoch 4/10, Loss: 0.8732, Accuracy: 69.34%\n",
      "Epoch 5/10, Loss: 0.8166, Accuracy: 71.14%\n",
      "Epoch 6/10, Loss: 0.7815, Accuracy: 72.39%\n",
      "Epoch 7/10, Loss: 0.7419, Accuracy: 73.95%\n",
      "Epoch 8/10, Loss: 0.7070, Accuracy: 75.16%\n",
      "Epoch 9/10, Loss: 0.6845, Accuracy: 75.77%\n",
      "Epoch 10/10, Loss: 0.6585, Accuracy: 76.70%\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+kAAAHACAYAAADeASmoAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACIq0lEQVR4nOzdd3hUZd7G8e9MekIK6ZUkQELvIE2aCoiIFMG2FixrwYZYVvTVRUVBXRQrrquCHUQQXQUpKiT0GkBaAoQ0EtJIJ33ePwJxI0VKkjNJ7s91zaXzzJnJnSEzZ37zNJPFYrEgIiIiIiIiIoYzGx1ARERERERERKqoSBcRERERERGxEirSRURERERERKyEinQRERERERERK6EiXURERERERMRKqEgXERERERERsRIq0kVERERERESshIp0EREREREREStha3SA+lZZWcnRo0dxdXXFZDIZHUdERASLxUJ+fj6BgYGYzfr+vDbofC8iItbkQs71Ta5IP3r0KCEhIUbHEBEROU1SUhLBwcFGx2gUdL4XERFrdD7n+iZXpLu6ugJVT46bm5vBaURERCAvL4+QkJDqc5RcOp3vRUTEmlzIub7JFemnhry5ubnppC0iIlZFw7Jrj873IiJijc7nXK+JbyIiIiIiIiJWQkW6iIiIiIiIiJVQkS4iIiIiIiJiJZrcnHQRkdpmsVgoLy+noqLC6ChipWxsbLC1tdWccytTUVFBWVmZ0TFEzknvHyJNj4p0EZFLUFpaSmpqKkVFRUZHESvn7OxMQEAA9vb2RkcRoKCggOTkZCwWi9FRRP6S3j9EmhYV6SIiF6myspL4+HhsbGwIDAzE3t5ePR1yGovFQmlpKRkZGcTHxxMREYHZrNlmRqqoqCA5ORlnZ2d8fHz0uhWrpfcPkaZJRbqIyEUqLS2lsrKSkJAQnJ2djY4jVszJyQk7OzsSEhIoLS3F0dHR6EhNWllZGRaLBR8fH5ycnIyOI3JOev8QaXr0VZyIyCVSr4acD/2dWB/1oEtDofcPkaZFr3gRERERERERK6EiXUREasXgwYOZPHnyeR9/5MgRTCYTMTExdZZJRM5Nr1sREeujIl1EpIkxmUznvEycOPGiHnfx4sW89NJL5318SEgIqampdOzY8aJ+3vlSUSGNQVN73f6vYcOGYWNjw8aNG+vtZ4qIGEkLx4mINDGpqanV/79gwQKef/55Dhw4UN3254W0ysrKsLOz+8vH9fT0vKAcNjY2+Pv7X9B9RJqqpvq6TUxMZMOGDTz00EN8/PHH9OnTp95+9pmc7/MqInIp1JNeCyortceqiDQc/v7+1Rd3d3dMJlP19eLiYjw8PPjmm28YPHgwjo6OfPHFF2RlZXHzzTcTHByMs7MznTp14uuvv67xuH8eNhsWFsYrr7zCXXfdhaurKy1atODDDz+svv3PPdyrV6/GZDLxyy+/0LNnT5ydnenXr1+NQgRg+vTp+Pr64urqyj333MPTTz9N165dL/r5KCkp4ZFHHsHX1xdHR0cuv/xytmzZUn378ePH+dvf/la9EnhERARz584Fqlb4f+ihhwgICMDR0ZGwsDBmzJhx0VlEzqapvm7nzp3LtddeywMPPMCCBQsoLCyscXtOTg733nsvfn5+ODo60rFjR3788cfq29etW8egQYNwdnamefPmDB8+nOPHj1f/rrNnz67xeF27dmXatGnV100mEx988AGjR4/GxcWF6dOnU1FRwd133014eDhOTk60adOGt95667Tsn3zyCR06dMDBwYGAgAAeeughAO666y6uvfbaGseWl5fj7+/PJ5988pfPiYjULyNqPRXpl2Dx9mSGvbmGt3+NMzqKiFgJi8VCUWm5IReLpfZOIv/4xz945JFH2LdvH8OHD6e4uJgePXrw448/8vvvv3Pvvfdy2223sWnTpnM+zqxZs+jZsyc7duxg0qRJPPDAA+zfv/+c93n22WeZNWsWW7duxdbWlrvuuqv6ti+//JKXX36ZV199lW3bttGiRQvmzJlzSb/rU089xaJFi/j000/Zvn07rVu3Zvjw4WRnZwPw3HPPsXfvXpYtW8a+ffuYM2cO3t7eALz99tv88MMPfPPNNxw4cIAvvviCsLCwS8oj9U+v25qs5XVrsViYO3cut956K23btiUyMpJvvvmm+vbKykpGjBjB+vXr+eKLL9i7dy8zZ87ExsYGgJiYGK688ko6dOjAhg0bWLt2LaNGjaKiouIvf/b/+uc//8no0aPZvXs3d911F5WVlQQHB/PNN9+wd+9enn/+eZ555pka2ebMmcODDz7Ivffey+7du/nhhx9o3bo1APfccw8///xzjdERS5cupaCggBtuuOGCsolI3UjNPcGCLYlM+nIb3aev5Hhhab3+fEOHu0dF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knBzc6uFhKLntPbpOa0bel5rX1N9Ti0WC/n5+QQGBmI2ayZabajN831T/busS3pO64ae19qn57T2NdXn9ELO9U2uJ91sNhMcHFzrj+vm5tak/sjqg57T2qfntG7oea19TfE5VQ967aqL831T/Lusa3pO64ae19qn57T2NcXn9HzP9fq6XkRERERERMRKqEgXERERERERsRIq0i+Rg4MD//znP3FwcDA6SqOh57T26TmtG3pea5+eU7FG+rusfXpO64ae19qn57T26Tn9a01u4TgRERERERERa6WedBEREREREREroSJdRERERERExEqoSBcRERERERGxEirS5f/bu//Qquo/juOvu6ve3Xu51NzYnIQ26cfczHS7InOrKGNsVrBYSTJt0R+y2tbWKJJmZJKOiizIvHHD/MMUZfRrEVbLYOZCNpZXRy39I8goxpTCmtLC7dMfweV7Wd/vd61z97ln9/mAA/d+zr13r/PXi/c99+wAAAAAAFIEQ/q/sGfPHhUUFCgzM1OlpaX64osvbEdytY6ODq1atUqhUEi5ubmqqanRmTNnbMeaVTo6OuTxeNTa2mo7iqv9+OOP2rhxo7KzsxUIBLRixQoNDAzYjuVqV65c0datW1VQUCC/368lS5Zo+/btmpiYsB0NaY6udxZdn3x0vXPoe2fR9VPHkD5Nhw8fVmtrq9rb23Xy5Endcsstqq6u1rlz52xHc62enh41NjbqxIkT6u7u1pUrV1RZWalLly7ZjjYr9Pf3KxqNavny5bajuNovv/yi8vJyzZ07V0eOHNE333yjl19+WVdffbXtaK72wgsv6I033tDu3bs1NDSkF198US+99JJee+0129GQxuh659H1yUXXO4e+dx5dP3Xcgm2aVq9erZKSEkUikfja0qVLVVNTo46ODovJZo/z588rNzdXPT09uvXWW23HcbXR0VGVlJRoz549ev7557VixQq9+uqrtmO50pYtW9Tb28vZNIfdfffdysvL0969e+NrtbW1CgQC2r9/v8VkSGd0ffLR9c6h651F3zuPrp86zqRPwx9//KGBgQFVVlYmrFdWVurLL7+0lGr2uXjxoiRp/vz5lpO4X2Njo+666y7deeedtqO4XldXl8LhsO6//37l5uZq5cqVevPNN23Hcr2KigodPXpUZ8+elSSdOnVKx48f17p16ywnQ7qi62cG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",
      "text/plain": [
       "<Figure size 1200x500 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 定义模型、损失函数和优化器\n",
    "model = CNN()\n",
    "criterion = nn.CrossEntropyLoss()  # 交叉熵损失函数\n",
    "optimizer = optim.Adam(model.parameters(), lr=0.001)  # Adam优化器\n",
    "\n",
    "# 训练过程\n",
    "epochs = 10\n",
    "train_loss = []\n",
    "train_accuracy = []\n",
    "\n",
    "for epoch in range(epochs):\n",
    "    running_loss = 0.0\n",
    "    correct = 0\n",
    "    total = 0\n",
    "    model.train()  # 设置模型为训练模式\n",
    "    for inputs, labels in trainloader:\n",
    "        optimizer.zero_grad()  # 清空梯度\n",
    "        outputs = model(inputs)  # 预测\n",
    "        loss = criterion(outputs, labels)  # 计算损失\n",
    "        loss.backward()  # 反向传播\n",
    "        optimizer.step()  # 更新权重\n",
    "        \n",
    "        running_loss += loss.item()  # 累计损失\n",
    "        _, predicted = torch.max(outputs, 1)  # 获取预测结果\n",
    "        total += labels.size(0)\n",
    "        correct += (predicted == labels).sum().item()\n",
    "    \n",
    "    avg_loss = running_loss / len(trainloader)\n",
    "    accuracy = 100 * correct / total\n",
    "    train_loss.append(avg_loss)\n",
    "    train_accuracy.append(accuracy)\n",
    "    \n",
    "    print(f'Epoch {epoch+1}/{epochs}, Loss: {avg_loss:.4f}, Accuracy: {accuracy:.2f}%')\n",
    "\n",
    "# 绘制学习曲线\n",
    "plt.figure(figsize=(12, 5))\n",
    "plt.subplot(1, 2, 1)\n",
    "plt.plot(train_loss, label='Training Loss')\n",
    "plt.xlabel('Epoch')\n",
    "plt.ylabel('Loss')\n",
    "plt.legend()\n",
    "plt.subplot(1, 2, 2)\n",
    "plt.plot(train_accuracy, label='Training Accuracy')\n",
    "plt.xlabel('Epoch')\n",
    "plt.ylabel('Accuracy')\n",
    "plt.legend()\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "36b146a5-3a3b-4c10-ba79-be429573f49e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Test Accuracy: 72.71%\n"
     ]
    }
   ],
   "source": [
    "correct = 0\n",
    "total = 0\n",
    "model.eval()  # 设置模型为评估模式\n",
    "with torch.no_grad():\n",
    "    for inputs, labels in testloader:\n",
    "        outputs = model(inputs)\n",
    "        _, predicted = torch.max(outputs, 1)\n",
    "        total += labels.size(0)\n",
    "        correct += (predicted == labels).sum().item()\n",
    "\n",
    "accuracy = 100 * correct / total\n",
    "print(f'Test Accuracy: {accuracy:.2f}%')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "07b31b0c-bbd5-485f-9f54-7f23a5b81b48",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "FNN Epoch 1/10, Loss: 1.6733, Accuracy: 40.45%\n",
      "FNN Epoch 2/10, Loss: 1.5012, Accuracy: 46.57%\n",
      "FNN Epoch 3/10, Loss: 1.4279, Accuracy: 49.09%\n",
      "FNN Epoch 4/10, Loss: 1.3746, Accuracy: 51.15%\n",
      "FNN Epoch 5/10, Loss: 1.3359, Accuracy: 52.37%\n",
      "FNN Epoch 6/10, Loss: 1.3049, Accuracy: 53.36%\n",
      "FNN Epoch 7/10, Loss: 1.2780, Accuracy: 54.56%\n",
      "FNN Epoch 8/10, Loss: 1.2538, Accuracy: 55.27%\n",
      "FNN Epoch 9/10, Loss: 1.2389, Accuracy: 55.84%\n",
      "FNN Epoch 10/10, Loss: 1.2175, Accuracy: 56.90%\n"
     ]
    },
    {
     "data": {
      "image/png": "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RKRcNGzYkNdee424uLirPldMTAyBgYGEhoZy2223cfToUQBiY2NJSkri2muvLd7X2dmZPn36sHnz5oueb8uWLSWOARg0aNAljwHIzc3FarWWWKT6O5dXyMSvdvDbsTN4uDjwzYQutAjUlHsiUrWpSJcS+jbz46F+TQCY9OPvHDmVaXAiEREpa08++SSLFi2iUaNGDBw4kLlz55Kbm1vq83Tp0oU5c+awfPlyPvvsM5KSkujevTunT58mKaloINJ69eqVOKZevXrF2y4kKSmp1McATJ06FS8vr+IlODi41M9Hqpac/ELu/XoHW46eppazA3Pu7kyr+l5GxxIRuWoq0uU8jw0Io2sjb7LyCnnw212cy1P/dBGR6uThhx9m586d7Ny5kxYtWvDII48QEBDAQw89xK5duy77PEOGDOGmm26iVatWDBgwgF9++QWAr776qngfk8lU4hi73X7eur+6kmMmTZpEenp68RIfH3/Zz0OqnrwCGw98u4sNMam4OVn48q5OtGtQx+hYIiJlQkW6nMfBYmbGbe3wreXMwaQMXlkcZXQkEREpB23atOGDDz7gxIkTvPLKK3z++ed06tSJNm3a8MUXX2C320t1Pnd3d1q1akVMTEzxKO9/vQOekpJy3p3y/+Xv71/qY6CoKb2np2eJRaqn/EIbD323i9UHU3B2MPP5+I50auhtdCwRkTKjIl0uyM/ThRmj22I2wQ87Epi/Q3ckRESqm/z8fH744QeGDx/Ok08+SceOHfn8888ZNWoUL7zwArfffnupzpebm8uBAwcICAggNDQUf39/Vq5cWbw9Ly+PdevW0b1794ueo1u3biWOAVixYsUlj5Gao6DQxmPzIlmxPxkni5nPxnWke2Nfo2OJiJQpB6MDSOXVvbEvjw9oyrSVh3hpURSt69emmb9GSxURqep27drFl19+yffff4/FYmHs2LG8//77hIeHF+9z7bXX0rt370ue56mnnmLYsGE0aNCAlJQUpkyZgtVqZfz48ZhMJh577DHeeOMNwsLCCAsL44033sDNzY0xY8YUn2PcuHEEBQUxdepUAB599FF69+7NW2+9xYgRI1i0aBGrVq1i48aN5fNiSJVRaLPz1Pw9/PJ7Io4WE5+MbU/vpnWNjiUiUuZUpMslPdivCb8dP8P6Q6e4/9ud/Pehnrg769dGRKQq69SpEwMHDuTj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",
      "text/plain": [
       "<Figure size 1200x500 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "FNN Test Accuracy: 54.06%\n"
     ]
    }
   ],
   "source": [
    "# FNN模型定义\n",
    "class FNN(nn.Module):\n",
    "    def __init__(self):\n",
    "        super(FNN, self).__init__()\n",
    "        self.fc1 = nn.Linear(3 * 32 * 32, 512)  # 输入3x32x32的图像\n",
    "        self.fc2 = nn.Linear(512, 128)\n",
    "        self.fc3 = nn.Linear(128, 10)  # 输出为10个类\n",
    "    \n",
    "    def forward(self, x):\n",
    "        x = x.view(-1, 3 * 32 * 32)  # 展平输入\n",
    "        x = F.relu(self.fc1(x))      # 第一层全连接 + 激活函数\n",
    "        x = F.relu(self.fc2(x))      # 第二层全连接 + 激活函数\n",
    "        x = self.fc3(x)              # 输出层\n",
    "        return x\n",
    "\n",
    "# 初始化模型、损失函数和优化器\n",
    "fnn_model = FNN()\n",
    "optimizer = optim.Adam(fnn_model.parameters(), lr=0.001)\n",
    "criterion = nn.CrossEntropyLoss()\n",
    "\n",
    "# 记录训练过程中的损失和准确率\n",
    "epochs = 10\n",
    "fnn_train_loss = []\n",
    "fnn_train_accuracy = []\n",
    "\n",
    "# 训练过程\n",
    "for epoch in range(epochs):\n",
    "    running_loss = 0.0\n",
    "    correct = 0\n",
    "    total = 0\n",
    "    fnn_model.train()\n",
    "    \n",
    "    for inputs, labels in trainloader:\n",
    "        optimizer.zero_grad()\n",
    "        outputs = fnn_model(inputs)\n",
    "        loss = criterion(outputs, labels)\n",
    "        loss.backward()\n",
    "        optimizer.step()\n",
    "        \n",
    "        running_loss += loss.item()\n",
    "        _, predicted = torch.max(outputs, 1)\n",
    "        total += labels.size(0)\n",
    "        correct += (predicted == labels).sum().item()\n",
    "    \n",
    "    avg_loss = running_loss / len(trainloader)\n",
    "    accuracy = 100 * correct / total\n",
    "    \n",
    "    fnn_train_loss.append(avg_loss)\n",
    "    fnn_train_accuracy.append(accuracy)\n",
    "    \n",
    "    print(f'FNN Epoch {epoch+1}/{epochs}, Loss: {avg_loss:.4f}, Accuracy: {accuracy:.2f}%')\n",
    "\n",
    "# 绘制学习曲线\n",
    "plt.figure(figsize=(12, 5))\n",
    "plt.subplot(1, 2, 1)\n",
    "plt.plot(fnn_train_loss, label='Training Loss')\n",
    "plt.xlabel('Epoch')\n",
    "plt.ylabel('Loss')\n",
    "plt.legend()\n",
    "\n",
    "plt.subplot(1, 2, 2)\n",
    "plt.plot(fnn_train_accuracy, label='Training Accuracy')\n",
    "plt.xlabel('Epoch')\n",
    "plt.ylabel('Accuracy')\n",
    "plt.legend()\n",
    "\n",
    "plt.show()\n",
    "\n",
    "# 在测试集上评估模型\n",
    "correct = 0\n",
    "total = 0\n",
    "fnn_model.eval()  # 设置模型为评估模式\n",
    "with torch.no_grad():\n",
    "    for inputs, labels in testloader:\n",
    "        outputs = fnn_model(inputs)\n",
    "        _, predicted = torch.max(outputs.data, 1)\n",
    "        total += labels.size(0)\n",
    "        correct += (predicted == labels).sum().item()\n",
    "\n",
    "fnn_test_accuracy = 100 * correct / total\n",
    "print(f'FNN Test Accuracy: {fnn_test_accuracy:.2f}%')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "dbf0a2ed-d29f-4cf3-ab85-4be4205628fb",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
